home *** CD-ROM | disk | FTP | other *** search
/ Clickx 115 / Clickx 115.iso / software / tools / windows / tails-i386-0.16.iso / live / filesystem.squashfs / usr / lib / perl5 / Glib / ParamSpec.pod < prev    next >
Encoding:
Text File  |  2012-02-20  |  11.0 KB  |  600 lines

  1. =head1 NAME
  2.  
  3. Glib::ParamSpec -  Wrapper to encapsulate metadate needed to specify parameters
  4.  
  5. =cut
  6.  
  7. =head1 HIERARCHY
  8.  
  9.   Glib::ParamSpec
  10.  
  11.  
  12.  
  13. =cut
  14.  
  15. =for object Glib::ParamSpec Wrapper to encapsulate metadate needed to specify parameters
  16.  
  17. void
  18. DESTROY (GParamSpec * pspec)
  19.     CODE:
  20.     g_param_spec_unref (pspec);
  21.  
  22. =for position DESCRIPTION
  23.  
  24. =head1 DESCRIPTION
  25.  
  26. Glib::ParamSpec encapsulates the metadata required to specify parameters.
  27. You will see these most often when creating new Glib::Object types; see
  28. C<< Glib::Type->register >> and L<Glib::Object::Subclass>.
  29.  
  30. Parameter specifications allow you to provide limits for validation as
  31. well as nicknames and blurbs to document the parameters.  Blurbs show up
  32. in reference documentation such as this page or the gtk+ C API reference;
  33. i'm not really sure where the nicknames get used.  The Perl bindings for
  34. the most part ignore the difference between dashes and underscores in
  35. the paramspec names, which typically find use as the actual keys for
  36. object parameters.
  37.  
  38. It's worth noting that Glib offers various sizes of integer and floating
  39. point values, while Perl really only deals with full integers and double
  40. precision floating point values.  The size distinction is important for
  41. the underlying C libraries.
  42.  
  43. =cut
  44.  
  45.  
  46.  
  47.  
  48. =head1 METHODS
  49.  
  50. =head2 paramspec = Glib::ParamSpec-E<gt>B<IV> ($name, $nick, $blurb, $minimum, $maximum, $default_value, $flags)
  51.  
  52. =over
  53.  
  54. =item * $name (string) 
  55.  
  56. =item * $nick (string) 
  57.  
  58. =item * $blurb (string) 
  59.  
  60. =item * $minimum (integer) 
  61.  
  62. =item * $maximum (integer) 
  63.  
  64. =item * $default_value (integer) 
  65.  
  66. =item * $flags (Glib::ParamFlags) 
  67.  
  68. =back
  69.  
  70. =head2 paramspec = Glib::ParamSpec-E<gt>B<UV> ($name, $nick, $blurb, $minimum, $maximum, $default_value, $flags)
  71.  
  72. =over
  73.  
  74. =item * $name (string) 
  75.  
  76. =item * $nick (string) 
  77.  
  78. =item * $blurb (string) 
  79.  
  80. =item * $minimum (unsigned) 
  81.  
  82. =item * $maximum (unsigned) 
  83.  
  84. =item * $default_value (unsigned) 
  85.  
  86. =item * $flags (Glib::ParamFlags) 
  87.  
  88. =back
  89.  
  90. =head2 string = $pspec-E<gt>B<get_blurb> 
  91.  
  92. =head2 paramspec = Glib::ParamSpec-E<gt>B<boolean> ($name, $nick, $blurb, $default_value, $flags)
  93.  
  94. =over
  95.  
  96. =item * $name (string) 
  97.  
  98. =item * $nick (string) 
  99.  
  100. =item * $blurb (string) 
  101.  
  102. =item * $default_value (boolean) 
  103.  
  104. =item * $flags (Glib::ParamFlags) 
  105.  
  106. =back
  107.  
  108. =head2 paramspec = Glib::ParamSpec-E<gt>B<boxed> ($name, $nick, $blurb, $package, $flags)
  109.  
  110. =over
  111.  
  112. =item * $name (string) 
  113.  
  114. =item * $nick (string) 
  115.  
  116. =item * $blurb (string) 
  117.  
  118. =item * $package (string) name of the class, derived from Glib::Boxed, of the objects this property will hold.
  119.  
  120. =item * $flags (Glib::ParamFlags) 
  121.  
  122. =back
  123.  
  124.  
  125.  
  126. =head2 paramspec = Glib::ParamSpec-E<gt>B<char> ($name, $nick, $blurb, $minimum, $maximum, $default_value, $flags)
  127.  
  128. =over
  129.  
  130. =item * $name (string) 
  131.  
  132. =item * $nick (string) 
  133.  
  134. =item * $blurb (string) 
  135.  
  136. =item * $minimum (integer) 
  137.  
  138. =item * $maximum (integer) 
  139.  
  140. =item * $default_value (integer) 
  141.  
  142. =item * $flags (Glib::ParamFlags) 
  143.  
  144. =back
  145.  
  146. =head2 scalar = $pspec-E<gt>B<get_default_value> 
  147.  
  148. (This is the C level C<g_param_value_set_default> function.)
  149.  
  150. Note that on a C<Glib::Param::Unichar> the return is a single-char
  151. string.  This is the same as the constructor
  152. C<< Glib::ParamSpec->unichar >>, but it's not the same as
  153. C<Glib::Object> C<< get_property >> / C<< set_property >>, so an
  154. C<ord()> conversion is needed if passing the default value to a
  155. unichar C<set_property>.
  156.  
  157. =head2 paramspec = Glib::ParamSpec-E<gt>B<double> ($name, $nick, $blurb, $minimum, $maximum, $default_value, $flags)
  158.  
  159. =over
  160.  
  161. =item * $name (string) 
  162.  
  163. =item * $nick (string) 
  164.  
  165. =item * $blurb (string) 
  166.  
  167. =item * $minimum (double) 
  168.  
  169. =item * $maximum (double) 
  170.  
  171. =item * $default_value (double) 
  172.  
  173. =item * $flags (Glib::ParamFlags) 
  174.  
  175. =back
  176.  
  177. =head2 paramspec = Glib::ParamSpec-E<gt>B<enum> ($name, $nick, $blurb, $enum_type, $default_value, $flags)
  178.  
  179. =over
  180.  
  181. =item * $name (string) 
  182.  
  183. =item * $nick (string) 
  184.  
  185. =item * $blurb (string) 
  186.  
  187. =item * $enum_type (string) 
  188.  
  189. =item * $default_value (scalar) 
  190.  
  191. =item * $flags (Glib::ParamFlags) 
  192.  
  193. =back
  194.  
  195. =head2 paramspec = Glib::ParamSpec-E<gt>B<flags> ($name, $nick, $blurb, $flags_type, $default_value, $flags)
  196.  
  197. =over
  198.  
  199. =item * $name (string) 
  200.  
  201. =item * $nick (string) 
  202.  
  203. =item * $blurb (string) 
  204.  
  205. =item * $flags_type (string) 
  206.  
  207. =item * $default_value (scalar) 
  208.  
  209. =item * $flags (Glib::ParamFlags) 
  210.  
  211. =back
  212.  
  213. =head2 paramflags = $pspec-E<gt>B<get_flags> 
  214.  
  215. =head2 paramspec = Glib::ParamSpec-E<gt>B<float> ($name, $nick, $blurb, $minimum, $maximum, $default_value, $flags)
  216.  
  217. =over
  218.  
  219. =item * $name (string) 
  220.  
  221. =item * $nick (string) 
  222.  
  223. =item * $blurb (string) 
  224.  
  225. =item * $minimum (double) 
  226.  
  227. =item * $maximum (double) 
  228.  
  229. =item * $default_value (double) 
  230.  
  231. =item * $flags (Glib::ParamFlags) 
  232.  
  233. =back
  234.  
  235. =head2 paramspec = Glib::ParamSpec-E<gt>B<gtype> ($name, $nick, $blurb, $is_a_type, $flags)
  236.  
  237. =over
  238.  
  239. =item * $name (string) 
  240.  
  241. =item * $nick (string) 
  242.  
  243. =item * $blurb (string) 
  244.  
  245. =item * $is_a_type (string or undef) The name of a class whose subtypes are allowed as values of the property.  Use C<undef> to allow any type.
  246.  
  247. =item * $flags (Glib::ParamFlags) 
  248.  
  249. =back
  250.  
  251.  
  252.  
  253. Since: glib 2.10
  254.  
  255. =head2 paramspec = Glib::ParamSpec-E<gt>B<int> ($name, $nick, $blurb, $minimum, $maximum, $default_value, $flags)
  256.  
  257. =over
  258.  
  259. =item * $name (string) 
  260.  
  261. =item * $nick (string) 
  262.  
  263. =item * $blurb (string) 
  264.  
  265. =item * $minimum (integer) 
  266.  
  267. =item * $maximum (integer) 
  268.  
  269. =item * $default_value (integer) 
  270.  
  271. =item * $flags (Glib::ParamFlags) 
  272.  
  273. =back
  274.  
  275. =head2 paramspec = Glib::ParamSpec-E<gt>B<int64> ($name, $nick, $blurb, $minimum, $maximum, $default_value, $flags)
  276.  
  277. =over
  278.  
  279. =item * $name (string) 
  280.  
  281. =item * $nick (string) 
  282.  
  283. =item * $blurb (string) 
  284.  
  285. =item * $minimum (64 bit integer) 
  286.  
  287. =item * $maximum (64 bit integer) 
  288.  
  289. =item * $default_value (64 bit integer) 
  290.  
  291. =item * $flags (Glib::ParamFlags) 
  292.  
  293. =back
  294.  
  295. =head2 paramspec = Glib::ParamSpec-E<gt>B<long> ($name, $nick, $blurb, $minimum, $maximum, $default_value, $flags)
  296.  
  297. =over
  298.  
  299. =item * $name (string) 
  300.  
  301. =item * $nick (string) 
  302.  
  303. =item * $blurb (string) 
  304.  
  305. =item * $minimum (integer) 
  306.  
  307. =item * $maximum (integer) 
  308.  
  309. =item * $default_value (integer) 
  310.  
  311. =item * $flags (Glib::ParamFlags) 
  312.  
  313. =back
  314.  
  315. =head2 string = $paramspec->B<get_name>
  316.  
  317.  
  318.  
  319. Dashes in the name are converted to underscores.
  320.  
  321.  
  322. =head2 string = $pspec-E<gt>B<get_nick> 
  323.  
  324. =head2 paramspec = Glib::ParamSpec-E<gt>B<object> ($name, $nick, $blurb, $package, $flags)
  325.  
  326. =over
  327.  
  328. =item * $name (string) 
  329.  
  330. =item * $nick (string) 
  331.  
  332. =item * $blurb (string) 
  333.  
  334. =item * $package (string) name of the class, derived from Glib::Object, of the objects this property will hold.
  335.  
  336. =item * $flags (Glib::ParamFlags) 
  337.  
  338. =back
  339.  
  340.  
  341.  
  342. =head2 paramspec = Glib::ParamSpec-E<gt>B<override> ($name, $overridden)
  343.  
  344. =over
  345.  
  346. =item * $name (string) 
  347.  
  348. =item * $overridden (Glib::ParamSpec) 
  349.  
  350. =back
  351.  
  352. Since: glib 2.4
  353.  
  354. =head2 string = $pspec-E<gt>B<get_owner_type> 
  355.  
  356. =head2 paramspec = Glib::ParamSpec-E<gt>B<param_spec> ($name, $nick, $blurb, $package, $flags)
  357.  
  358. =over
  359.  
  360. =item * $name (string) 
  361.  
  362. =item * $nick (string) 
  363.  
  364. =item * $blurb (string) 
  365.  
  366. =item * $package (string) name of the class, derived from Glib::ParamSpec, of the objects this property will hold.
  367.  
  368. =item * $flags (Glib::ParamFlags) 
  369.  
  370. =back
  371.  
  372.  
  373.  
  374. =head2 paramspec or undef = $pspec-E<gt>B<get_redirect_target> 
  375.  
  376. Since: glib 2.4
  377.  
  378. =head2 paramspec = Glib::ParamSpec-E<gt>B<scalar> ($name, $nick, $blurb, $flags)
  379.  
  380. =over
  381.  
  382. =item * $name (string) 
  383.  
  384. =item * $nick (string) 
  385.  
  386. =item * $blurb (string) 
  387.  
  388. =item * $flags (Glib::ParamFlags) 
  389.  
  390. =back
  391.  
  392. ParamSpec to be used for any generic perl scalar, including references to
  393. complex objects.
  394.  
  395. Currently C<Gtk2::Builder> cannot set object properties of this type
  396. (there's no hooks for property value parsing, as of Gtk 2.20), so
  397. prefer the builtin types if buildable support for an object matters.
  398. A C<boxed> of C<Glib::Strv> can give an array of strings.  A signal
  399. handler callback can do most of what a coderef might.
  400.  
  401. =head2 paramspec = Glib::ParamSpec-E<gt>B<string> ($name, $nick, $blurb, $default_value, $flags)
  402.  
  403. =over
  404.  
  405. =item * $name (string) 
  406.  
  407. =item * $nick (string) 
  408.  
  409. =item * $blurb (string) 
  410.  
  411. =item * $default_value (string or undef) 
  412.  
  413. =item * $flags (Glib::ParamFlags) 
  414.  
  415. =back
  416.  
  417. =head2 paramspec = Glib::ParamSpec-E<gt>B<uchar> ($name, $nick, $blurb, $minimum, $maximum, $default_value, $flags)
  418.  
  419. =over
  420.  
  421. =item * $name (string) 
  422.  
  423. =item * $nick (string) 
  424.  
  425. =item * $blurb (string) 
  426.  
  427. =item * $minimum (unsigned) 
  428.  
  429. =item * $maximum (unsigned) 
  430.  
  431. =item * $default_value (unsigned) 
  432.  
  433. =item * $flags (Glib::ParamFlags) 
  434.  
  435. =back
  436.  
  437. =head2 paramspec = Glib::ParamSpec-E<gt>B<uint> ($name, $nick, $blurb, $minimum, $maximum, $default_value, $flags)
  438.  
  439. =over
  440.  
  441. =item * $name (string) 
  442.  
  443. =item * $nick (string) 
  444.  
  445. =item * $blurb (string) 
  446.  
  447. =item * $minimum (unsigned) 
  448.  
  449. =item * $maximum (unsigned) 
  450.  
  451. =item * $default_value (unsigned) 
  452.  
  453. =item * $flags (Glib::ParamFlags) 
  454.  
  455. =back
  456.  
  457. =head2 paramspec = Glib::ParamSpec-E<gt>B<uint64> ($name, $nick, $blurb, $minimum, $maximum, $default_value, $flags)
  458.  
  459. =over
  460.  
  461. =item * $name (string) 
  462.  
  463. =item * $nick (string) 
  464.  
  465. =item * $blurb (string) 
  466.  
  467. =item * $minimum (64 bit unsigned) 
  468.  
  469. =item * $maximum (64 bit unsigned) 
  470.  
  471. =item * $default_value (64 bit unsigned) 
  472.  
  473. =item * $flags (Glib::ParamFlags) 
  474.  
  475. =back
  476.  
  477. =head2 paramspec = Glib::ParamSpec-E<gt>B<ulong> ($name, $nick, $blurb, $minimum, $maximum, $default_value, $flags)
  478.  
  479. =over
  480.  
  481. =item * $name (string) 
  482.  
  483. =item * $nick (string) 
  484.  
  485. =item * $blurb (string) 
  486.  
  487. =item * $minimum (unsigned) 
  488.  
  489. =item * $maximum (unsigned) 
  490.  
  491. =item * $default_value (unsigned) 
  492.  
  493. =item * $flags (Glib::ParamFlags) 
  494.  
  495. =back
  496.  
  497. =head2 paramspec = Glib::ParamSpec-E<gt>B<unichar> ($name, $nick, $blurb, $default_value, $flags)
  498.  
  499. =over
  500.  
  501. =item * $name (string) 
  502.  
  503. =item * $nick (string) 
  504.  
  505. =item * $blurb (string) 
  506.  
  507. =item * $default_value (character) 
  508.  
  509. =item * $flags (Glib::ParamFlags) 
  510.  
  511. =back
  512.  
  513. =head2 string = $pspec-E<gt>B<get_value_type> 
  514.  
  515. =head2 bool = $paramspec->B<value_validate> ($value)
  516.  
  517. =head2 (bool, newval) = $paramspec->B<value_validate> ($value)
  518.  
  519. =over
  520.  
  521. =item * $value (scalar) 
  522.  
  523. =back
  524.  
  525. In scalar context return true if $value must be modified to be valid
  526. for $paramspec, or false if it's valid already.  In array context
  527. return also a new value which is $value made valid.
  528.  
  529. $value must be the right type for $paramspec (with usual stringizing,
  530. numizing, etc).  C<value_validate> checks the further restrictions
  531. such as minimum and maximum for a numeric type or allowed characters
  532. in a string.  The "made valid" return is then for instance clamped to
  533. the min/max, or offending chars replaced by a substitutor.
  534.  
  535. =head2 integer = $pspec-E<gt>B<values_cmp> ($value1, $value2)
  536.  
  537. =over
  538.  
  539. =item * $value1 (scalar) 
  540.  
  541. =item * $value2 (scalar) 
  542.  
  543. =back
  544.  
  545. Compares I<value1> with I<value2> according to I<pspec>, and returns -1, 0 or
  546. +1, if value1 is found to be less than, equal to or greater than value2,
  547. respectively.
  548.  
  549.  
  550.  
  551. =cut
  552.  
  553.  
  554. =head1 ENUMS AND FLAGS
  555.  
  556. =head2 flags Glib::ParamFlags
  557.  
  558.  
  559.  
  560. =over
  561.  
  562. =item * 'readable' / 'G_PARAM_READABLE'
  563.  
  564. =item * 'writable' / 'G_PARAM_WRITABLE'
  565.  
  566. =item * 'construct' / 'G_PARAM_CONSTRUCT'
  567.  
  568. =item * 'construct-only' / 'G_PARAM_CONSTRUCT_ONLY'
  569.  
  570. =item * 'lax-validation' / 'G_PARAM_LAX_VALIDATION'
  571.  
  572. =item * 'private' / 'G_PARAM_PRIVATE'
  573.  
  574. =back
  575.  
  576.  
  577.  
  578.  
  579. =cut
  580.  
  581.  
  582. =head1 SEE ALSO
  583.  
  584. L<Glib>
  585.  
  586.  
  587. =cut
  588.  
  589.  
  590. =head1 COPYRIGHT
  591.  
  592. Copyright (C) 2003-2011 by the gtk2-perl team.
  593.  
  594. This software is licensed under the LGPL.  See L<Glib> for a full notice.
  595.  
  596.  
  597.  
  598. =cut
  599.  
  600.